import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Proporciona el obstaculo del tipo patrulla.
 * 
 * @author Asael Hernández García 
 * @version (a version number or a date)
 */
public class Patrulla extends Automovil
{
    private SimpleTimer policeTimer;
    private int tiempo;
    private boolean nueva;
    private UserRecords records;
    
    public Patrulla()
    {
        policeTimer = new SimpleTimer();
        policeTimer.mark();
        tiempo = 10000;
        nueva = true;
        records = new UserRecords();
    }
    
    public void act() 
    {
        if(getY() > getWorld().getHeight() - getImage().getHeight() && nueva){
            setLocation(getX(),getY()-1);
        }
        if(policeTimer.millisElapsed() > tiempo){
            tiempo = 10;
            nueva = false;
            setLocation(getX(), getY()+1);
            if(getY() >= getWorld().getHeight() - 5)
                ((PistaAutomovil)getWorld()).removeObs(this);
            policeTimer.mark();
        }
        else{
        if(((PistaAutomovil)getWorld()).impactoJugador()){
            int puntosDist = ((PistaAutomovil)getWorld()).getDist();
            int puntosDamage = ((PistaAutomovil)getWorld()).getDamage();
            int puntos = puntosDist * puntosDamage;
            records.guardaRecords(puntos);
            ((PistaAutomovil)getWorld()).perdiste("¡ARRESTADO!");
        }
        if(!getObjectsInRange(100,Jugador.class).isEmpty())
            setLocation(getX(), getY()-1);
        }
    }
}
